KnigaRead.com/
KnigaRead.com » Научные и научно-популярные книги » Радиотехника » Пауль Хоровиц - Искусство схемотехники. Том 2 [Изд.4-е]

Пауль Хоровиц - Искусство схемотехники. Том 2 [Изд.4-е]

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Пауль Хоровиц, "Искусство схемотехники. Том 2 [Изд.4-е]" бесплатно, без регистрации.
Назад 1 ... 105 106 107 108 109 Вперед
Перейти на страницу:

Упражнение 10.10. Чтобы понять смысл последней фразы, напишите представление числа 1.0 в формате IBM. После этого напишите следующее меньшее число в том же формате.


Использование в формате IBM числа 16 в качестве основания увеличивает динамический диапазон, но уменьшает точность. Более того, точность несколько изменяется от числа к числу из-за переменного количества лидирующих двоичных нулей; это явление известно, как «качание» (wobble). В формате IBM отсутствуют «не числа» и бесконечность, и имеется только один нуль (все биты нули); не нормализованные числа не допускаются. Имеется формат IBM и для чисел с двойной точностью (64 бит). Последний формат на рис. 10.24, MIL STD-1750A, используется в военных системах. Он необычен в том отношении, что вместо знака и величины числа в нем записывается мантисса в форме дополнения до двух и порядок тоже в форме дополнения до двух (строго говоря, предыдущие форматы характеризуются записью мантиссы в форме знак/величина, а порядка в форме смещенного двоичного). В формате отсутствуют бесконечности, «не числа» и не нормализованные числа; имеется вариант для чисел с удвоенной точностью.

Хранение чисел в памяти. Разработчики микропроцессоров любят выражать свою индивидуальность, предусматривая хранение чисел в памяти в своеобразном порядке. Микропроцессоры 8086/8 (а, следовательно, и компьютеры IBM PC и совместимые с ними) записывают числа в память, начиная с самого младшего байта, который располагается в байте памяти с наименьшим номером; для семейства 68000 характерен обратный порядок. Вот счастье-то!

Преобразование данных в процессе ввода-вывода. Нам пришлось уже обсуждать форматы данных в контексте аппаратного интерфейса, который выдавал упакованные двоично-десятичные числа. Каков наиболее оптимальный способ работы с 8-разрядными данными, получаемыми из такого интерфейса? В зависимости от типа входных данных, числа значащих цифр, диапазона их изменения и проч. может оказаться удобным преобразовывать входные данные в числа с плавающей точкой (для получения максимального динамического диапазона), или в целые числа (для получения максимального разрешения), или выполнить какие-то другие числовые процедуры (например, вычисление отклонений от среднего значения или разностей последующих отсчетов). Все это можно делать в программном «драйвере» конкретного устройства, т. е. в программном модуле, который управляет вводом данных. Мы видим, таким образом, что оптимизация программного обеспечения не может быть выполнена без понимания особенностей аппаратуры и смысла принимаемых данных. Еще одна причина, по которой столь важно освоиться в этом чудесном мире электронной аппаратуры!

Таблицы

7




















8













9

















10








* * *



Примечания

1

Шум лопающихся при поджаривании, кукурузных зерен. — Прим. перев.

2

Многие читатели, имеющие дело с персональными компьютерами, наверняка слышали слово boot-сектор (сектор начальной загрузки). Для того чтобы дать понять читателю, какие образы возникали у отцов — основателей персональных компьютеров, отметим, что среди множества значений слова boot есть и такое как «ударить сапогом», а термин bootstrap фигурирует в выражении, которое переводится как «поднять самого себя за шнурки ботинок». — Прим. перев.

3

Точнее говоря, выполнить после дальнейшей обработки полученного объектного кода программой-редактором связей. Непосредственно исполнять объектный код компьютер не может. — Прим. перев.

4

Кроме арифметических флагов регистр флагов содержит еще три дополнительных флага для управления некоторыми действиями ЦП: флаг направления (DF), флаг разрешения прерываний (IF), флаг трассировки (ТF). — Прим. перев.

5

Для того чтобы этот пример работал, надо изменить идентификатор LOOP на какое-нибудь другое, не зарезервированное ассемблером выражение, например LOOP1. — Прим. перев.

6

Индексный. — Прим. перев.

7

Большинство компиляторов преобразуют исходный текст непосредственно в машинные команды (либо в строки вызова процедур, обрабатываемых компоновщиком) и необходимость в их дополнительном ассемблировании отпадает, хотя некоторые компиляторы, например транслятор языка Паскаль для машин типа ДВК, действуют именно так, как описано авторами. — Прим. перев.

8

А еще чаще — объектны. — Прим. перев.

9

Из мира больших машин пришло другое название этой программы — редактор связей; в среде пользователей микрокомпьютеров бытует жаргонное выражение «линкер». — Прим. перев.

10

В настоящее время эта «вторая половина» кодовой таблицы практически стандартизована и включает символы национальных алфавитов (в частности, русского), символы псевдографики и некоторые математические знаки. — Прим. перев.

11

Т.е. вычисленное как смещение относительно нижней границы знакового представления (-128, -32768). — Прим. перев.

Назад 1 ... 105 106 107 108 109 Вперед
Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*